From: Tim Deegan Date: Wed, 28 Mar 2007 09:12:16 +0000 (+0000) Subject: Editing long lines in pygrub interactively could lead to tracebacks. X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=d3454d2db9d79cb51165377673ca286ca4d01fc6;p=xen.git Editing long lines in pygrub interactively could lead to tracebacks. Attached patch fixes things. Signed-off-by: Jeremy Katz --- diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub index 9b3d15f675..8f4e3473f7 100644 --- a/tools/pygrub/src/pygrub +++ b/tools/pygrub/src/pygrub @@ -125,16 +125,13 @@ class GrubLineEditor(curses.textpad.Textbox): is that we can handle lines longer than the window.""" self.win.clear() - if self.pos > 70: - if self.pos > 130: - off = 120 - else: - off = 55 - l = [ "<" ] + self.line[off:] - p = self.pos - off - else: - l = self.line[:70] - p = self.pos + p = self.pos + off = 0 + while p > 70: + p -= 55 + off += 55 + + l = self.line[off:off+70] self.win.addstr(0, 0, string.join(l, (""))) if self.pos > 70: self.win.addch(0, 0, curses.ACS_LARROW)